# import
# from import
# from import *
# 一个模块 只会被导入一次 不管执行多少次import 为了防止重复导入
# 搜索路径是由一系列目录名组成的，Python解释器就依次从这些目录中去寻找所引入的模块。
# 这看起来很像环境变量，事实上，也可以通过定义环境变量的方式来确定搜索路径。
# 搜索路径是在Python编译或安装的时候确定的，安装新的库应该也会修改。搜索路径被存储在sys模块中的path变量
# 因此导入用户指定路径的模块时需要对sys.path进行操作
'''
sys.path 输出是一个列表，其中第一项是空串''，代表当前目录（若是从一个脚本中打印出来的话，可以更清楚地看出是哪个目录），
亦即我们执行python解释器的目录（对于脚本的话就是运行的脚本所在的目录）。
因此若在当前目录下存在与要引入模块同名的文件，就会把要引入的模块屏蔽掉。
了解了搜索路径的概念，就可以在脚本中修改sys.path来引入一些不在搜索路径中的模块。
'''
import random
# 别名
import random as rd
from random import randint
from random import randint as rdint
import sys
# import os
# 如果要从上层目录导入 则添加搜索路径
# sys.path.append(os.path.dirname(__file__) + os.sep + '../')

# from C import D
# d = D()
# d.my_print()


# from A import B
import A
b = A.B()
b.my_print()
A.my_func()
print(A.my_int)
print(A.my_list)
print(A.os.path.dirname(__file__))


# 导入其他目录下
# sys.path  添加路径
# import sys
# path = "某个目录的路径"
# sys.path.append(path)
# import some_package

# 当前模块执行是 __name__ 和 该模块被导入时 __name__不相同
# 根据这个不同可以判断是否是当前模块主动执行
